#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <numeric>
#include <vector>
#include <iterator>
#include <functional>
#include <boost/bind.hpp>
#include <boost/timer.hpp>
#include <boost/shared_ptr.hpp>

using namespace std;

struct A
{
	int a;
	static int b;
	char c;
	virtual void f();
};

class B
{
public:
    B(){}
private:
    B(const B& b);
    B& operator=(const B& b);
};

int main(int atrgc, char** argv)
{
	cout<<sizeof(A)<<endl;
	char* ch = new char[100];
	strcpy(ch,"PPPQQQ");

	cout<<sizeof(ch)<<endl;
	cout<<sizeof(*ch)<<endl;
	cout<<strlen(ch)<<endl;
	string s("ABCDEFGHIJKLMNOPQ");
	cout<<sizeof(s)<<endl;

	B b,c;
//	b=c; //error

	cout<<2["abcde"]<<endl;
	cout<<*(2+"abcde")<<endl;
	char q = *"abcdefg";
	cout<<q<<endl;
	q = *("abcdefg"+4);
	cout<<q<<endl;
	q = 4["abcdefg"];
	cout<<q<<endl;

	return 0;
}
